4.1 Low Cost-Messmöglichkeiten

4.1.1 Messen mit der Maus

Hilfreiche Informationen zum Messen mit der Maus finden Sie auf der PAKMA-Webseite www.pakma.de
Dort ist auch eine Anleitung zum Umbau einer Computermaus zu finden. Anwender, die über keinen Internetzugang verfügen, können auf folgende Abschnitte des Webinhalts Offline zugreifen :

Umbauanleitung für die PC-Maus
Die PC-Maus als Low-Cost-Bewegungssensor
schematische Darstellung der Maus
Abb.4.1 schematische Darstellung der Maus

Grundlagen

Hinweis : Zu diesem Thema lesen Sie auch den Artikel von W. Reusch, O. Gößwein, Ch. Kahmann, D. Heuer: Mechanikversuche mit der PC-Maus - Ein präziser Low-Cost-Bewegungssensor.
In : Praxis der Naturwissenschaften, Heft 6, S. 5-8, Jg. 2000

Da jede Computermaus eine zweidimensionale Bewegung erfasst, eignet sie sich grundsätzlich als Messwerkzeug zur Untersuchung solcher Bewegungen. Der schematische Aufbau (s. Abb. 4.1) macht die Grundlagen der zwei-dimensionalen Messwerterfassung deutlich.
Mit Hilfe zweier Lichtschranken werden durch die Bewegungen der zwei Lochräder elektrische Impulse erzeugt, die von Windows dazu verwendet werden, den Mauszeiger auf dem Bildschirm entsprechend der Mausbewegung zu bewegen. PAKMA ist in der Lage, diese Informationen, die der Windows Maustreiber erfaßt, zu verarbeiten und als gemessene Größen im Ausgaben-Fenster darzustellen.
Alternativ kann die Maus auch direkt über die serielle Schnittstelle des PC abgefragt werden, ohne dabei auf den Windows Maustreiber zuzugreifen.
Im folgenden sind wesentlichen die Vorteile und Einschränkungen der beiden Methoden aufgezeigt :


Windowstreiber serielle Schnittstelle

Vorteil

Vorteil
  • Mit dem Maustreiber können auf einfache Weise mit einem Low-Cost-Gerät die x- bzw. y- Komponenten der Mausgeschwindigkeit gemessen werden. Dies kann z.B. zum Erfassen von Bewegungsabläufen eines Fahrbahnwagens verwendet werden. Dazu muss die Maus leicht umgebaut werden ( siehe Umbauanleitung)




  • wie bei der Messung per Maustreiber können auf einfache Weise Bewegungsabläufe erfasst werden

  • die Messzeit muss nur ein Vielfaches von 25ms betragen. Daher ist eine feinere Messung als bei der Messung über den Windowsmaustreiber möglich.

  • die Windowsmaus kann während der Messung zur Steuerung des Programmablaufs verwendet werden



  • Einschränkungen


    Einschränkungen
  • die Messzeit muss ein Vielfaches von 50ms betragen. Das ist das kleinste Zeitintervall,
    in dem die Mausgeschwindigkeitskomponenten über den Windowstreiber erfasst werden

  • die Maus darf erst nach dem Einschalten des Computers an den COM-Port angeschlossen werden

  • die höchste mit der Maus messbare Geschwindkeit Maus ist abhängig von der Winkelgeschwindigkeit, mit der sich die Achse dreht, auf die die zu messende Bewegung übertragen wird. Der Computer übermittelt eine zur Geschwindkeit proportionale Impulszahl mit Werten zwischen -127 und 127. Treten in dem Messzeitintervall mehr als 127 Impulse auf, werden diese nicht mitgezählt. Ab einer Grenzgeschwindkeit haben daher Geschwindigkeitserhöhungen keinen Effekt mehr und es wird je nach Bewegungsrichtung konstant der Wert -127 bzw. 127 übermittelt.
    Will man größere Geschwindigkeiten z.B. eines Fahrbahnwagens messen, so muss man den Durchmesser der Drehachse vergrößern, auf der das Lichtschrankenrad der Maus sitzt.

  • bei Windows XP wird wegen zusätzlicher interner Umrechnungen eine geringere Messgenauigkeit erreicht

  • wie bei der Messung per Maustreiber ist die maximal erfassbare Geschwindigkeit der Maus begrenzt




















  • Systemeinstellungen und Hardware

    Zeigergeschwindigkeit einstellen
    Abb.4.2 Zeigergeschwindigkeit einstellen
    Grundsätzlich eignen sich sowohl PS/2- als auch serielle Mäuse zum Mausmessen über den Windowstreiber.
    Für die für die Messung verwendete Maus muss zusätzlich die Zeigergeschwindigkeit der Maus über die Systemeinstellung des Betriebssystems auf den kleinst möglichen Wert eingestellt werden. Wie diese Einstellung vorzunehmen ist lesen Sie bitte in dem Handbuch des Rechners nach. Zudem muss "Zeigerbeschleunigung verbessern" ausgeschaltet werden.
    Umschalter zum Wechsel der aktiven Maus
    Abb.4.3 Umschalter zum Wechsel der aktiven Maus
    Bei Windows-XP erfolgt diese Einstellung zum Beispiel über den Menüpunkt
    Start -> Systemsteuerung -> Drucker und andere Hardware -> Maus -> Zeigeroptionen.
    Dort lässt sich dann die Zeigergeschwindigkeit durch einen Schieber von "langsam" bis "schnell" variieren.
    Stellen Sie den Schieber nach links für die langsamste Mauszeigergeschwindigkeit.

    Da bei der Untersuchung 1-dimensionaler Bewegungen die ins Experiment eingebaute Maus nicht mehr zum Bedienen des Computers zur Verfügung steht, verwendet man idealerweise einen Computer mit einer PS/2-Maus zum Bedienen und einer zusätzlichen seriellen Maus zum Messen.
    Einziger Nachteil dieser Konfiguration ist, die Bedienmaus (Touchpad) darf während der Messung nicht benutzt werden. Sonst würde die zusätzliche Bewegung mit erfasst und aufaddiert werden.
    Steht keine PS/2-Maus zur Verfügung, so ermöglicht der Umschalter in Abb. 4.3 die wechselweise Aktivierung zweier serieller Mäuse zum Bedienen bzw. Messen. In diesem Fall muss die Umschaltung auf die jeweils „richtige“ Maus rechtzeitig von Hand erfolgen.

    Messbefehle im PAKMA-Kernprogramm

    Mausbewegung über 2 Kanäle erfassen
    Abb.4.4 Mausmessung über
    Windowstreiber
    1. Schritt : Wahl des Messtyps

    Zunächst muss im Kernprogramm der Messtyp festgelegt werden. Der Messtyp gibt an, über welche Hardware die Messwerte von PAKMA abgefragt werden sollen. Er bleibt solange gültig, bis ein neuer Messtyp im Kernprogramm gewählt wird.

    Messtyp für Windowsmaus :

    Der spezielle Messtyp der angibt, das es sich bei dem vorgenommenen Messtyp um eine Messung mit der Windowsmaus handelt, lautet:
    mauszählen
    Messtyp für serielle Maus :

    Um eine Messung mit der Maus als seriellem Messgerät durchzuführen, muss man den Messtyp zusammen mit der Nummer des COM-Ports mit angeben, an dem die Messmaus angeschlossen wurde. Der Zugehörige Messbefehl zur Wahl des Messtyps "Messen mit serieller Maus" lautet :
    maus_seriell(port)
    2.Schritt : Messwerte erfassen

    Will man nun die Veränderung der x- und y- Komponente der Windowsmaus im Zeitintervall dt abfragen, so entspricht dies einer Messung über 2 parallele Kanäle, wobei Kanal 1 die vertikale und Kanal 2 die horizontale Komponente der Änderung der Position der Maus auf dem Bildschirm angibt.
    Mit dem Befehl zum messen parallel
    mes_p(2);
    wird die Veränderung der Position des Mauszeigers während der Schleifenzeit dt über die 2 Kanäle einer Parallelmessung ermittelt.
    Die Werte des jeweiligen Kanals können mit dem Befehl mess-wert parallel mes_wp(Kanal) den Variablen des Kernprogramms zugewiesen werden :
        
      dx:=mes_wp(1); 
      dy:=mes_wp(2);
    
    Falls Sie nur an der Änderung der horizontalen Komponente der Maus interessiert sind können Sie auch einfach den Befehl mes_p(2) durch den Befehl mes ersetzen. Die Übergabe des Messwerts an eine Variable erfolgt dann mit Hilfe des Befehls mess-wert mes_w.

    mauszaehlentestxy.prj Messung mit mes_p (Parallelmessung auf 2 Kanälen)
    mauszaehlentestx.prj Messung mit mes (einzelner Messwert)

    Messen über ein VisEdit - Wirkungsgefüge

     VisEdit - Messsymboleigenschaften
    Abb.4.5a VisEdit - Messsymboleigenschaften
     VisEdit - Messsymboleigenschaften
    Abb.4.5b Wirkungsgefüge des Projekts mauszaehlen.prv
    Der Sinn einer Messung über ein VisEdit-Wirkungsgefüge besteht darin, wichtige Schritte der Messdatenerfassung und - aufbereitung grafisch in ihrer Abfolge und ihren Abhängigkeiten darzustellen.

    Vorteile

    Bei der Messung über ein VisEdit - Wirkungsgefüges sind weder Kenntnisse der Messbefehle noch Kenntnisse der Struktur des Messprogramms nötig, da das Kernprogramm von VisEdit automatisch erstellt wird. VisEdit ermöglicht zudem die Aufbereitung von Messdaten, z.B. Geschwindigkeit v, Beschleunigung a (siehe Abb.4.5b). und eine leichte Erweiterung eines Modells zum Vergleich Modell - Experiment und umgekehrt. So kann z.B. ein bestehendes Wirkungsgefüge leicht durch Einfügen eines Messsymbols erweitert werden um einen Vergleich zwischen einem Modell und einer Realmessung zu erreichen (mehr dazu in
    Kapitel 4.2.5, Beispiel 7). Dabei werden die notwenigen Einstellungen über einen einfachen Dialog abgefragt (siehe Abb.4.5a) und man muss über keine Programmierkenntnisse verfügen.

    Um in VisEdit eine Messung über den Windows-Maustreiber einzufügen, wählen Sie im Eigenschaftsdialog des Messymbols unter dem Punkt "Sonstiges" den Typ "Maus" die Ansteuerung "Maustreiber (Windows)" aus, so wie dies in Abb.4.5a zu sehen ist. Anschließend müssen Sie wählen, ob Sie die x- oder y-Achse der Maus auslesen wollen. Um auf beide Mauskomponenten in ihrem VisEdit-Wirkungsgefüge zugreifen zu können müssen Sie für jede Achse ein eigenes Messsymbol verwenden.




    Beispiele

    Im folgenden werden 4 Beispiele für das Messen mit der Maus vorgestellt :

    1. Messung der Bewegung eines Federschwingers mit der Maus

    Versuchsaufbau Umgebaute Maus mit Umlenkrolle
    Abb.4.6 Versuchsaufbau Abb.4.7 Umgebaute
    Maus mit Umlenkrolle
    Ziel dieses Versuches ist es, die Bewegung eines Federschwingers mit der Maus zu messen. Eine an einer Feder befestigte Masse wird mittels eines umlaufenden Fadens mit einer zu einem Zählrad umgebauten Maus verbunden.
    Die Struktur eines Kernprogramms zur Simulation einer Bewegung wurde bereits im Abschnitt
    Erstellen des Projektes Federschwingung erläutert.
    In diesem Abschnitt werden nun die Befehle erläutert, die für die Messung mit der PC-Maus relevant sind.

    Zunächst muss der Messtyp zum Messen mit der Maus gewählt werden. Die entsprechende PAKMA-Anweisung lautet :
    mauszählen
    Als nächstes gibt man den Messchritt an :
    s_folg('i',dt)
    Dabei steht der erste Parameter 'i' für die durchzuführende zeitgesteuert intermittierende Messung, der zweite Parameter dt gibt das Zeitintervall zwischen zwei Messungen in Sekunden an. Weitere Informationen zu diesem und weiteren Messchritten sind im Abschnitt Messschritte zu finden.
    Die Aufnahme einer Messung erfolgt mit dem Befehl
    mes
    Der Wert der Messung ist mit
    mes_w
    abrufbar und kann an andere Grössen des Kernprogramms wie eine Variable übergeben werden.
    Hier wird er zur Berechnung des Wegstückes dx, den der Federschwinger im Zeitschritt dt zurücklegt, verwendet.
    Es gilt dx:=mes_w*l_einh .

    Im folgenden wird ein entsprechendes Kernprogramm aufgelistet.
    Hinweis zur zeitlichen Ausgabe von y,v und a :
    Zur Zeit t wird die Situation bei t-dt gezeichnet.

    l_einh:=0.000012; t:=0; Mauszählen; s_folg('i',dt); mes;dy:=mes_w*l_einh; // Vorlauf, um v_alt für v_alt:=dy/dt; // die Berechnung von v zu bestimmen repeat Mes; dy:=Mes_W*l_einh; y_neu:=y+dx; v_neu:=dy/dt; v:=(v_neu+v_alt)/2; a:=(v_neu-v_alt)/dt; Ausgabe (t, y, v, a); t:=t+dt; y:=y_neu; v_alt:=v_neu; until t>5;

    mauszaehlen.prj

    Anstatt das Kernprogramm selbst zu erstellen können Sie sich natürlich auch viel einfacher mit Hilfe von VisEdit das Kernprogramm automatisch erstellen lassen. Abbildung 4.5b zeigt das dazu entsprechende Wirkungsgefüge hierzu. Das entsprechende PAKMA-VisEdit-Projekt ist in der Datei mauszaehlen.prv gespeichert.
    Versuchsaufbau
    Abb.4.8 Ausgabe des Projekts mauszaehlen.prj

    2. Versuch zur 1-dimensionalen Bewegung : Fahrbahnversuch schiefe Ebene

    Fahrbahn
    Abb.4.9 Fahrbahnwagen - Versuch
    Im Gegensatz zu Lehrerdemonstrationsexperimenten kommt besonders bei Schülerversuchen der Low-Cost-Aspekt des Sensors Maus voll zum Tragen. Da Schülerfahrbahnen nicht so reibungsarm wie Luftkissenbahnen sind, verändert die zusätzliche Reibung des Sensors Bewegungsabläufe auch nur unwesentlich.
    Umgebaute Maus mit Umlenkrolle Fahrbahnwagen mit Feder
    Abb.4.10 Umgebaute Maus
    mit Umlenkrolle
    Abb.4.11 Fahrbahnwagen
    mit Feder

    Das folgende Projekt misst die Bewegung eines Wagens auf einer schiefen Ebene. Der Wagen wird am unteren Ende der Fahrbahn an einer Feder reflektiert. Ein typisches Kernprogramm zum Messen, in dem s und v und a ermittelt wird, ist weiter unten aufgelistet.

    t:=0; dt:=0.1; mt:=5; l_einh:=0.0001265; v_alt:=0; maus_seriell(1); s_folg('i', dt); mes; repeat mes; dx:=-mes_w*l_einh; x:=x+dx; v:=dx/dt; a:=(v-v_alt)/dt; if x>0.66 then s_fed:=x-0.66 else s_fed:=0; ausgabe (t, x, v, a, s_fed); v_alt:=v; t:=t+dt until t>mt;

    schiefeEbeneMessung.prj

    Als Zeitintervall dt sind Vielfache von 0,025 s zu wählen, angemessen sind Werte zwischen 0,05 und 0,2 s.
    In obigem Versuchsbeispiel wurde als Zeitintervall dt = 0.1 gewählt.
    Das Ergebnis eines Beschleunigungsversuchs an der schiefen Ebene mit anschließender Rekflektion durch eine Feder zeigt die Abb.4.9
    Versuchsergebnis
    Abb.4.12 Versuchsergebnis

    3. Versuch zur 2-dimensionalen Bewegung

     Messung krummliniger<br> Handbewegungen
    Abb.4.13 Messung krummliniger
    Handbewegungen
    Mit einer Anordnung wie in Abb. 4.13 können krummlinige Bewegungen, wie z.B. Kurvenfahrten nachvollzogen und analysiert werden. Als „Fahrbahn“ dient ein DIN A3-Blatt mit aufgedrucktem Koordinatensystem und Bahnkurve für Kreisbewegungen. Eine Einschränkung betrifft die "Fahrweise" mit der Maus.
    Damit die Zuordnung der Koordinaten zu den Sensorachsen der Maus erhalten bleibt, darf die Ausrichtung der Maus während der "Fahrt" nicht verdreht werden.


    Die Bildfolge in Abb. 4.14 zeigt mehrere Phasen einer Kurvenfahrt mit dem Geschwindigkeitsvektor, dem "alten" Geschwindigkeitsvektor und dem Geschwindigkeitsänderungsvektor als Animationselemente. In Abb. 4.15 sind für eine Kurvenfahrt mit der Maus die Bahnkurve mit Zeitmarken, sowie Geschwindigkeitsvektoren (einzelne Pfeile) und Beschleunigungsvektoren (Doppelpfeile) dargestellt.
    Damit lässt sich der handlungsorientierte Umgang mit der Beschleunigungsdefinition interaktiv umsetzen.

    HandMausMessen.prj Versuchen Sie, eine möglichst kreisförmige Bewegung mit der Maus aufzunehmen.
    Hinweis : Vergessen Sie nicht, die Mausgeschwindigkeit wie oben beschrieben einzustellen und die Windows Mausbeschleunigung auszuschalten.
    Phasen einer Kurvenfahrt  Darstellung einer Kurvenfahrt
    Abb.4.14 Phasen einer Kurvenfahrt Abb.4.15 Darstellung einer Kurvenfahrt



    4. Versuch zur 2-dimensionalen Bewegung : Fadenpendel

    Fadenpendel mit dem Grafiktablett
    Abb.4.16a Fadenpendel mit dem Grafiktablett
    Für die Mausmessung über den Windowstreiber kommen alle Geräte in Frage, die die Bewegung der Windowsmaus steuern können - also auch Touchscreens und Grafiktabletts.
    Dies machen wir uns zur Messung einer Fadenpendelbewegung zu Nutze.

    Als Material werden ein handelsübliches Grafiktablett, eine Schnur sowie ein Pendelkörper mit Innengewinde benötigt.
    Der Grafiktreiber des Tabletts muss so konfiguriert werden, daß die Position des Mauszeigers auf dem Bildschirm der absolute Position des Stiftes auf dem Tablett entspricht.
    Normalerweise befindet sich der Grafiktreiber nach der Erstinstallation des Tabletts automatisch in diesem Modus.
    Der Stift des Grafiktabletts wird durch das Gewinde mit dem Pendelkörper verschraubt und an einer Schnur so über dem Tabelett aufgehängt, das sich die Spitze ca. 1-2 mm über dem Grafiktablett befindet.
    Nun folgt der Mauszeiger automatisch der Bewegung des Stiftes über dem Tablett. Dadurch ist es möglich, die Bahn des Pendelkörpers mit PAKMA aufzuzeichnen und anschließend auszuwerten.
    Durch den Befehl Mauszählen wird die Maus als Messgerät ausgewählt. Dabei werden die Impulse PC-Maus im Zeitintervall dt gezählt. Der Befehl s_folg('i’, dt) legt den Messmodus und den Zeitschritt fest.
    Im Modus 'i’ wird intermittierend gemessen, d.h. es liegt ein gleiches Zeitintervall dt zwischen den Messungen. Die Messwerte werden sofort vor der neuen Messung im Kernprogramm bearbeitet und die Variablen im Ausgabebefehl ausgabe(...) ausgegeben (Echtzeit). Es wird also intermittierend gemessen und die Bildschirmausgaben entsprechend aktualisiert.
    Mit dem Befehl mes_p (2) wird die Messung durchgeführt und der Messwert im Speicher abgelegt. Der Parameter bei mes_p gibt an, wie viele Kanäle bei einer Messung verwendet werden, beim Messen mit Mauszählen sind dies 2, denn die x- und y- Komponente der Mausposition werden in zwei verschiedenen Kanälen ausgegeben : der x – Wert in Kanal 1, der y- Wert in Kanal 2.
    Durch den Befehl mes_wp(n) wird der Messwert des n-ten Kanals der letzten Parallelmessung aus dem Speicher aufgerufen und an eine Variable übergeben. So wird durch dy:= mes_wp(2) der Variablen dy der letzte Messwert für die Verschiebung der y-Position des Mauszeigers übergeben.


    Das zugehörige Kernprogramm lautet:

    t:=0; dt:=0.12;// das Zeitintervall dt zwischen zwei aufeinanderfolgenden Messungen mt:=60; mauszählen; // es erfolgt eine Messung über den Maustreiber s_folg ('i', dt); mes_p (2); dx_alt:=mes_wp (1); dy_alt:=mes_wp (2); y:=-300; repeat mes_p (2); dx:=mes_wp (1); dy:=mes_wp (2); x_neu:=x+dx; y_neu:=y+dy; ax:=dx-dx_alt; ay:=dy-dy_alt; ausgabe (t, x, y, dx, dy, ax, ay); dx_alt:=dx; x:=x_neu; dy_alt:=dy; y:=y_neu; t:=t+dt; until t>mt;

    Fadenpendel.prj zeigt die Reproduktion einer solchen Messung

    In Abbildung 4.16a ist das Grafiktablett mit dem Fadenschwinger zu sehen. Abbildung 4.16b zeigt ein typisches Versuchsergebnis.
    Fadenpendel mit dem Grafiktablett
    Abb.4.16b Darstellung der Bewegung des Fadenpendels


    weiter mit...

    Messwerte aus Datei übernehmen